Python:谷歌翻译20次的程序如何实现? |
您所在的位置:网站首页 › 二十 翻译 › Python:谷歌翻译20次的程序如何实现? |
Python:谷歌翻译20次的程序如何实现? 作者:橙汁 ![]() “ 谷歌翻译20次 ”就是多次利用谷歌翻译(Google Translate)将原本正常的名场面对话翻译成语言逻辑紊乱、特别搞笑的对话。 比如:这个视频,利用谷歌翻译将赛尔号“魔灵王之墓”的剧情制作成非常搞笑的对话。 ![]() 除了使用人工手动往复翻译的方法,还可以使用编程语言进行翻译。比如,本文将展示如何使用Python实现这一过程。 ① 下载并安装对应系统的Python3环境。 Python官网: https://www.python.org ② 安装googletrans模块 googletrans是调用谷歌翻译功能的Python模块。 打开控制台(Windows系统下按Win+R,输入“cmd”即可打开“命令提示符”),输入“ pip install googletrans ”并按下回车键,等待模块安装完成。 ③ 书写代码,进行编程。 下面的代码,我只涉及到了“中文”和“英语”两种语言的循环翻译,没有涉及到其他的语言。如果你有其他方面的需求,可以在函数main()中修改参数txt、times和language,或者根据代码注释直接修改函数本身。 【程序代码】# 导入模块函数库 from googletrans import Translator import time import random # 初始化函数 def init(): # 需要翻译的原文 global txt # 需要翻译的次数 global times # 需要翻译的语言 global language # 加载翻译引擎 global translator translator = Translator(service_urls = ['translate.google.cn']) # 往返翻译一次的函数 def OneRound(s, src, dest): # 原语种翻译为外语种 s = translator.translate(s, src = src, dest = dest).text # 设置延时,以免频率过高遭到服务器拒绝 time.sleep(random.randint(50, 300) / 100) # 外语种翻译为原语种 s = translator.translate(s, src = dest, dest = src).text return s # 多次翻译的函数 def OverRound(s, times, src, dest): ss = [] for i in range(times): # 进行一次翻译 s = OneRound(s, src, dest) # 设置延时,以免频率过高遭到服务器拒绝 time.sleep(random.randint(100, 500) / 100) # 储存中间翻译结果 ss.append(s) # 输出中间翻译结果 print('第' + str(i + 1) + '次:' + s) # 判断文本是否收敛,如果收敛则提前结束 if i > 0 and ss[i - 1] == ss[i]: return s if i > 2 and ss[i - 2] == ss[i] and ss[i - 1] == ss[i - 3]: return s return s # 程序主体函数 def main(): init() for i in range(len(txt)): print('') # 输出原文 print('原 文:' + txt[i]) # 输出最终翻译结果 print('【最终结果】\n' + OverRound(txt[i], times, language[0], language[1])) print('') # 设置延时,以免频率过高遭到服务器拒绝 time.sleep(random.randint(5, 12)) #程序运行处 if __name__ == '__main__': txt = ['在混沌教派与大暗黑天将克里奥星域搅得天翻地覆的同时,让我们来看看遥远的泰坦星域中所发生的事…', '可恶的创世圣魂,居然给我耍这种小把戏!', '但这绝对不可能一直困住我!', '尽管已经损耗了大半的力量,但这个封印也即将冲破…', '是你…来得正好,我忠实的仆从...', '看来你也在外面帮我一同破除这该死的封印,现在快来帮我!', '…我这就来帮你…', '啊!!莱茵哈特!你居然! !', '哼哼哼哼哼!哈哈哈哈哈!', '为了破除这封印你已虚弱至此,真是天助我也!', '你不是已经被逝者巨樽的力量所控制…', '逝者巨樽?哦,你是说那个装亡者之力的小杯子啊…', '说到这个我还要感谢你,让我感受并达到了一个全新的境界,但是…', '但是什么?', '但是现在…我觉得我还可以向着更高的次元突破,而契机就是…你的死!', '你!啊! !!我的力量!!!快住手!!!', '你费尽千辛万苦找来的这几样东西,对我来说还有用…', '?!', '你休想!他们是我的!是我的!', '看来,要直接将这些神器剥离出来,还是要花费我一番功夫…', '那就只好,委屈你暂时忍耐一下了,哈哈哈哈哈哈…。', '不!!~~~~', '逝者巨樽…亡者之力…', '好东西…这简直让我欲罢不能啊…', '哈哈哈哈,再来!', '创世之钟…创世神力…', '这股至高的光明之力…', '若我可以将其与我的混沌所融合,那将是种怎样的境界…', '我要迫不及待了!', '不!!你不能这样!!', '就是这样,让我再听听你的悲鸣?哈哈哈哈哈!', '永恒之树的精华么…', '哼,这玩意儿,暂时还用不到,但弃之也可惜,先留着吧!', '求你快住手!我的身体,我的力量啊!!!', '这就不行了?我们还要继续呢…哈哈哈哈!', '泰坦的生命之力…', '这和冥域的亡者之力倒也如阴阳两极一样,看来会用得着。', '那是我的!是我的!你还给我!', '你的?少让我发笑了!', '这些不也是你从那些“无辜”的家伙那夺来的吗?我只不过是对你做了同样的事情,哈哈哈哈哈!', '嚯…这就是你们暗夜一族的至高秘宝,灵核魔杖?', '求求你..求求你..只有这个,你不能拿走,不然我会魂飞魄散的!', '就是这个魔杖,帮助你统御了那些截然不同的能量吗? ', '那我可更不能放过了,拿来吧!喝~~', '啊!!! !', '呵呵,一代霸主,临死前居然凄惨至斯,简直不堪入目…', '好了,东西都到手了,我该找个地方需要好好参详一下,想一想该如何利用它们…', '等我再次归来之时…我要让整个宇宙,陷入无尽的恐怖,哈哈哈哈哈哈哈!'] times = 20 # 具体语言标识请自行搜索“语言简写代码表”,如下是“中文(简体)”与“英语”。 language = ['zh-CN', 'en'] main() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |